It is known that a request for data information within a network, for instance when a user of the international network Internet seeks a specific home page on the network, may involve the user first connecting himself/herself with the network through a network operator and then addressing the server that contains the required information directly. The operator connects the user either persistently or temporarily to a computer unit or processor unit belonging to the operator and through which requests for information can be sent by the user on the network.
Since the server concerned may be positioned at a geographically remote location in the wise network, it is known that an operator, or some other actor on the network, provides a cache for collected information, in which newly used information is stored so as to be available to other users who may seek the same information. This is economically advantageous with respect to the operator and provides a much faster network for the user.
Such a cache may include a plurality of different nodes for connection to those users who avail themselves of the operator's services.
It is known to arrange the cache nodes in a hierarchical structure so as to be able to reduce the requirement of requisite bandwidths within the wise network; c.f. in this regard the publication "A Hierarchical Internet Object Cache", by Anawat Chankhunthod, Peter B. Danzig, Chuck Neerdaels, Michael F. Schwarz and Kurt J. Worrel, Computer Science Department, University of Southern California and Computer Science Department, University of Colorado--Boulder, 1995.
It is also known that the request for data-information within a network may involve:
a) the user requesting current or relevant data-information from a first node of a cache node set-up; PA1 b) sending the requested data-information to the user, when said data-information is available within said first node; PA1 c) the first node requesting said data-information from other cache nodes, when said data-information is unavailable in said first node; PA1 d) sending the data-information to the user when case c) is fulfilled and when data-information is available in the cache; PA1 e) fetching said data-information from the cache server and sending said data-information to the user when case c) is fulfilled and when data-information is unavailable in the cache; PA1 f) the user requests the data-information concerned from a first object node of a number of available object nodes; PA1 g) said first object node sends said data-information to the user when said data-information is available in said first object node; PA1 h) when said data-information is unavailable in said first object node, said first object node requests the data-information from a first directory node located immediately above said first object node in said tree structure; PA1 i) when h) is fulfilled and the data-information requested is available in a second object node located immediately beneath the first directory node in said tree structure and the directory of said first directory node includes the identity of the object node in which said data-information is available, the first directory node orders the second object node, either directly or via possible intermediate directory nodes, to send said data-information to said first object node and that this data-information is sent from the first object node to the user; PA1 j) when step h) is fulfilled and when the requested data-information is available in a third object node that lies beneath a second directory node in the tree structure separate from the first directory node, wherein the directory of said second directory node includes the identity of the object node in which said data-information is found, the first directory node requests said data-information from a further node located immediately above the first directory node in the tree structure; PA1 k) when step j) is fulfilled and said further node is a third directory node located above the second directory node in the tree structure, the third directory node orders the second object node, either directly or via possible intermediate directory nodes, to send the data-information to the firs object node, whereafter said information is sent to the user; PA1 l) when step j) is fulfilled and when the further node is a root node, the root node orders the second object node, either directly or via possible intermediate directory nodes, to send the data-information to said first object node, whereafter said data-information is sent to the user; and PA1 m) when said data-information is unavailable in the tree structure, said data-information is collected from the server by the first object node and said data-information then sent to the user.
wherein said data-information, after having been fetched from the server to the cache, is available in the cache for a given period of time so as to be available for any requests for this information from other users.
In a hierarchy of this kind, it is also known to implement e) above, by the higher level node fetching the requested information from the server concerned and then sending this information to the first node which, in turn, sends the information to the user.
One drawback with this technique, and also with other similar hierarchical node structures within a cache resides in the generation of so-called hot spots through nodes that are heavily loaded, because it is necessary for much of the traffic to pass through the higher level node. Furthermore, Internet includes a plurality of smaller, independent networks where the links between these networks often constitute bottlenecks that restrict traffic information.
There is used on the Internet an established protocol designated "the Internet Cache Protocol" (ICP), which is intended to facilitate the coaction of independent networks with other networks and thereby circumvent the hot spot problems.
ICP causes an node to ask a plurality of mutually co-operating nodes if they have the information requested. This can result in hundreds of questions being asked. It is possible that tens of positive answers are obtained, and the first node, that is to say the querying node, must itself decide the node from which the information shall be taken. This may result in the first node attempting to fetch information from a node that is already heavily loaded while other nodes that have the desired information may have free capacity. The answer may also resulting the questioning node going to the server that provides the requested information, in order to obtain this information.
It is known from the publication "A Distributed Internet Cache" by Dean Poey, Department of Computer Science, University of Queensland, 1995, to implement d) above by allowing a higher level node in the hierarchy to inform the first node where the desired information can be found in the hierarchy, whereafter the first node contacts the node that has the desired information requesting the dispatch of said information. This is normally also referred to as pulling, i.e. the asking node pulls the information to itself. This publication also discloses that the first node can, itself, collect the desired information in accordance with e) above.
Reference can also be made to Patent Publication EP-A2-0 618 708 with regard to prior art technique. This publication describes a system of mutually coacting nodes.
According to the technique disclosed in this earlier publication, superordinate nodes (referred to as cache server nodes) store information relating to the resources available in nodes that are connected to themselves in a directory. When receiving an inquiry concerning a specific resource, the node searches for the resource in its own directory. If the information requested is not available, the server node requests the information from coacting server nodes. If none of these server nodes contains the information requested, a general broadcast is made to all nodes in the network. If this general broadcast fails to produce the information requested, the inquiry, or request, is sent to adjacent networks via selected gate nodes.
In this context, it will also be mentioned what is meant in this description by persistent and temporary connections.
In communication in large networks there is used a transmission control protocol (TCP), which is a connection orientated protocol that provides a reliable bit stream within an Internet protocol (IP). According to TCP, a persistent connection implies a guarantee that both ends of a connection will be able to receive all data that is sent from the other end of the connection. According to TCP, the data is received in the same order as that in which it was originally sent and without receiving a duplicate.
Thus, according to TCP, a persistent connection is a logic persistent connection which guarantees transmitter and receiver a correct transmission of data and which need not be a physical persistent connection between transmitter and receiver. In this description, by a persistent connection is meant more specifically a connection that is constantly activated and that if deactivated for some reason or another is again established.
By temporary connection is meant in this description a connection that is established temporarily when transmitting data and is then released upon completion of the transmission. A temporary connection can also be a connection that has already been established for some reason or another and that can be also used for the current transmission. Thus, this connection need not be established or released specifically with respect to the current transmission.
The establishment and release of these connections need not necessarily be physical, but may also be achieved by means of a logic facility that enables one of several possible logic connections to be made in one or more physically established connections.
Irrespective of whether a connection is a persistent or a temporary connection in accordance with this description, it can equally as well be allocated the properties of a persistent connection according to TCP.